package com.probox.common.entity.domain.product;

import java.util.Date;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.probox.common.core.annotation.Excel;

/**
 * 产品操作日志对象 products_log
 *
 *
 * @date 2021-05-28
 */
@Data
@Accessors(chain = true)
@TableName("product_log")
public class ProductLog implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 自主主键
     */
    //默认主键自增
    @TableId(value = "LOG_ID", type = IdType.AUTO)
    private Long logId;
    /**
     * 产品编号
     */
    @Excel(name = "产品编号")
    private Long productUid;
    /**
     * SKUID
     */
    @Excel(name = "SKUID")
    private Long skuUid;
    /**
     * 操作类型
     */
    @Excel(name = "操作类型")
    private String operateType;
    /**
     * 详细意见
     */
    @Excel(name = "详细意见")
    private String detailInfo;
    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private Long createUid;

    @Excel(name = "创建人名称")
    private String createName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 平台ID
     */
    @Excel(name = "平台ID")
    private Long platform;


    public ProductLog() {
    }

    public ProductLog(Long productUid, Long skuUid, String operateType, String detailInfo, Date createTime) {
        this.productUid = productUid;
        this.skuUid = skuUid;
        this.operateType = operateType;
        this.detailInfo = detailInfo;
        this.createTime = createTime;
    }

    public ProductLog(Long productUid, Long skuUid, String operateType, String detailInfo, Long createUid, String createName, Date createTime, Long platform) {
        this.productUid = productUid;
        this.skuUid = skuUid;
        this.operateType = operateType;
        this.detailInfo = detailInfo;
        this.createUid = createUid;
        this.createName = createName;
        this.createTime = createTime;
        this.platform = platform;
    }
}
